package com.solming.leetcode.question;

//给你一个按 非递减顺序 排序的整数数组 nums，返回 每个数字的平方 组成的新数组，要求也按 非递减顺序 排序。
//977. 有序数组的平方
public class SortedSquares977 {

    /**
     * 拆解一直去找最大的数。负数的平方可能是最大数。
     * @param nums
     * @return
     */
    public static int[] sortedSquares(int[] nums) {
        int len = nums.length;
        int[] result = new int[len];
        for (int i = 0, j = len - 1; i <= j;) {
            int num1 = nums[i] * nums[i];
            int num2 = nums[j] * nums[j];
            if (num1 < num2) {
                result[--len] = num2;
                j--;
            } else {
                result[--len] = num1;
                i++;
            }
        }
        return result;

    }

    public static void main(String[] args) {
        int[] nums = new int[]{-7, -3, 2, 3, 11};
        int[] result = sortedSquares(nums);
        System.out.println(result);
    }


}
